﻿using System.Collections.ObjectModel;

namespace Unknown.Source.Entity.Coder
{
    /// <summary>
    /// 代码配置类
    /// </summary>
    public class CodeConfiguration
    {
        /// <summary>
        /// 分隔符
        /// </summary>
        public string Separator { get; set; }
        /// <summary>
        /// 主键
        /// </summary>
        public string PrimaryKey { get; set; }
        /// <summary>
        /// 命名空间前缀
        /// </summary>
        public string NamespacePrefix { get; set; }
        private Collection<NamespaceMap> _NamespaceMaps = new Collection<NamespaceMap>();
        /// <summary>
        /// 命名空间映射集合
        /// </summary>
        public Collection<NamespaceMap> NamespaceMaps
        {
            get
            {
                return this._NamespaceMaps;
            }
        }
        private Collection<string> _Constants = new Collection<string>();
        /// <summary>
        /// 不变属性集合
        /// </summary>
        public Collection<string> Constants
        {
            get
            {
                return this._Constants;
            }
        }
        private Collection<Template> _Templates = new Collection<Template>();
        /// <summary>
        /// 模板目录
        /// </summary>
        public Collection<Template> Templates
        {
            get
            {
                return this._Templates;
            }
        }
        /// <summary>
        /// 代码分析
        /// </summary>
        public bool CodeAnalysis { get; set; }
        /// <summary>
        /// 代码处理类
        /// </summary>
        public string DataTypeHandler { get; set; }
    }
}
